Directional Movement Index 4 colors (DMI 4c)It is a normal Directional Movement Index, but instead of using lines for +DI and -DI it uses histogram and 4 colors. It also contains an horizontal line (default value @20) to indicate when a trend is confirmed or not.
Search in scripts for "horizontal line"
Relative Price Difference [LAVA]EDIT: Look below for updates to the script.
EDIT: After several updates to this script, I think it's safe to say it will work with all timelines. Using hand drawn trendlines, it can predict tops and bottoms with pretty good accuracy.
Shows a change in the relative price difference via percentage on a 0 horizontal. Added a bollinger band to help identify weak areas (orange). If orange starts showing, the current price direction is strong but can reverse harshly. If you are in a weak position, exit here. Otherwise, don't enter a trade after/during orange sessions until a full cycle (up/dn > 1% without orange) has completed. The main line indicator fluctuates according to the price difference. 1% horizontal lines are added to help identify profit taking spots or OTE zones. Ensure the 1% line is crossed completely before you decide to enter/exit. Cross points are identified with crosses if you missed your window, this is the last spot to exit, enter. This indicator doesn't work that well with small time intervals. As always, use more than one indicator to ensure your decision is right. (The colors are ugly so change them if you wish! :)
Point of Control (POC)**Point of Control (POC) Indicator**
This indicator identifies the price level where the most trading volume occurred over a specified lookback period (default: 365 days). The POC represents a significant support/resistance level where the market found the most acceptance.
**Key Features:**
- **POC Line**: Bright green horizontal line showing the highest volume price level
- **Volume Profile Analysis**: Divides price range into rows and calculates volume distribution
- **Value Area (Optional)**: Shows VAH and VAL levels containing 70% of total volume
- **Customizable**: Adjust lookback period, price resolution, colors, and line width
**How to Use:**
- POC acts as a magnet - price often returns to test these high-volume levels
- Strong support/resistance zone where significant trading activity occurred
- Useful for identifying key price levels for entries, exits, and stops
- Higher lookback periods (365 days) show longer-term significant levels
**Settings:**
- Lookback Period: Number of bars to analyze (default: 365)
- Price Rows: Calculation resolution - higher = more precise (default: 24)
- Toggle Value Area High/Low for additional context
---
London Ghost CandleCandle representation of the London session. 2am-5am NYT
By default the wicks is turned off because I only care about whether the session was green or red. You can add the wick, remove the open/close horizontal lines or even darken the colors in the settings. You can also remove the pane label box.
Hope it helps.
Swing LevelsThe Swing Levels indicator automatically detects and plots recent swing highs and lows on the chart, turning them into dynamic support and resistance levels.
Each new swing point creates a horizontal line that extends forward in time until price “fills” (touches or breaks) that level. Once a level is filled, it can either disappear or remain visible — depending on your settings.
You can enable alerts to be notified whenever price fills a swing high (breaks resistance) or a swing low (breaks support).
A lookback filter allows limiting how far back in history swing levels are drawn, helping keep the chart clean and efficient.
Main benefits:
• Automatically tracks key market structure turning points
• Helps visualize support and resistance zones in real time
• Optional alerts for breakout confirmations
• Fully customizable colors, line styles, and management behavior
• Works on any timeframe or market
In short:
Swing Levels gives you a clear and automated view of where price has recently reversed — powerful zones where liquidity and reactions often occur again.
Сreated with vibecoding using ChatGPT and Claude.
Standardization (Z-score)Standardization, often referred to as Z-score normalization, is a data preprocessing technique that rescales data to have a mean of 0 and a standard deviation of 1. The resulting values, known as Z-scores, indicate how many standard deviations an individual data point is from the mean of the dataset (or a rolling sample of it).
This indicator calculates and plots the Z-score for a given input series over a specified lookback period. It is a fundamental tool for statistical analysis, outlier detection, and preparing data for certain machine learning algorithms.
## Core Concepts
* **Standardization:** The process of transforming data to fit a standard normal distribution (or more generally, to have a mean of 0 and standard deviation of 1).
* **Z-score (Standard Score):** A dimensionless quantity that represents the number of standard deviations by which a data point deviates from the mean of its sample.
The formula for a Z-score is:
`Z = (x - μ) / σ`
Where:
* `x` is the individual data point (e.g., current value of the source series).
* `μ` (mu) is the mean of the sample (calculated over the lookback period).
* `σ` (sigma) is the standard deviation of the sample (calculated over the lookback period).
* **Mean (μ):** The average value of the data points in the sample.
* **Standard Deviation (σ):** A measure of the amount of variation or dispersion of a set of values. A low standard deviation indicates that the values tend to be close to the mean, while a high standard deviation indicates that the values are spread out over a wider range.
## Common Settings and Parameters
| Parameter | Type | Default | Function | When to Adjust |
| :-------------- | :----------- | :------ | :------------------------------------------------------------------------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Source | series float | close | The input data series (e.g., price, volume, indicator values). | Choose the series you want to standardize. |
| Lookback Period | int | 20 | The number of bars (sample size) used for calculating the mean (μ) and standard deviation (σ). Min 2. | A larger period provides more stable estimates of μ and σ but will be less responsive to recent changes. A shorter period is more reactive. `minval` is 2 because `ta.stdev` requires it. |
**Pro Tip:** Z-scores are excellent for identifying anomalies or extreme values. For instance, applying Standardization to trading volume can help quickly spot days with unusually high or low activity relative to the recent norm (e.g., Z-score > 2 or < -2).
## Calculation and Mathematical Foundation
The Z-score is calculated for each bar as follows, using a rolling window defined by the `Lookback Period`:
1. **Calculate Mean (μ):** The simple moving average (`ta.sma`) of the `Source` data over the specified `Lookback Period` is calculated. This serves as the sample mean `μ`.
`μ = ta.sma(Source, Lookback Period)`
2. **Calculate Standard Deviation (σ):** The standard deviation (`ta.stdev`) of the `Source` data over the same `Lookback Period` is calculated. This serves as the sample standard deviation `σ`.
`σ = ta.stdev(Source, Lookback Period)`
3. **Calculate Z-score:**
* If `σ > 0`: The Z-score is calculated using the formula:
`Z = (Current Source Value - μ) / σ`
* If `σ = 0`: This implies all values in the lookback window are identical (and equal to the mean). In this case, the Z-score is defined as 0, as the current source value is also equal to the mean.
* If `σ` is `na` (e.g., insufficient data in the lookback period), the Z-score is `na`.
> 🔍 **Technical Note:**
> * The `Lookback Period` must be at least 2 for `ta.stdev` to compute a valid standard deviation.
> * The Z-score calculation uses the sample mean and sample standard deviation from the rolling lookback window.
## Interpreting the Z-score
* **Magnitude and Sign:**
* A Z-score of **0** means the data point is identical to the sample mean.
* A **positive Z-score** indicates the data point is above the sample mean. For example, Z = 1 means the point is 1 standard deviation above the mean.
* A **negative Z-score** indicates the data point is below the sample mean. For example, Z = -1 means the point is 1 standard deviation below the mean.
* **Typical Range:** For data that is approximately normally distributed (bell-shaped curve):
* About 68% of Z-scores fall between -1 and +1.
* About 95% of Z-scores fall between -2 and +2.
* About 99.7% of Z-scores fall between -3 and +3.
* **Outlier Detection:** Z-scores significantly outside the -2 to +2 range, and especially outside -3 to +3, are often considered outliers or extreme values relative to the recent historical data in the lookback window.
* **Volatility Indication:** When applied to price, large absolute Z-scores can indicate moments of high volatility or significant deviation from the recent price trend.
The indicator plots horizontal lines at ±1, ±2, and ±3 standard deviations to help visualize these common thresholds.
## Common Applications
1. **Outlier Detection:** Identifying data points that are unusual or extreme compared to the rest of the sample. This is a primary use in financial markets for spotting abnormal price moves, volume spikes, etc.
2. **Comparative Analysis:** Allows for comparison of scores from different distributions that might have different means and standard deviations. For example, comparing the Z-score of returns for two different assets.
3. **Feature Scaling in Machine Learning:** Standardizing features to have a mean of 0 and standard deviation of 1 is a common preprocessing step for many machine learning algorithms (e.g., SVMs, logistic regression, neural networks) to improve performance and convergence.
4. **Creating Normalized Oscillators:** The Z-score itself can be used as a bounded (though not strictly between -1 and +1) oscillator, indicating how far the current price has deviated from its moving average in terms of standard deviations.
5. **Statistical Process Control:** Used in quality control charts to monitor if a process is within expected statistical limits.
## Limitations and Considerations
* **Assumption of Normality for Probabilistic Interpretation:** While Z-scores can always be calculated, the probabilistic interpretations (e.g., "68% of data within ±1σ") strictly apply to normally distributed data. Financial data is often not perfectly normal (e.g., it can have fat tails).
* **Sensitivity of Mean and Standard Deviation to Outliers:** The sample mean (μ) and standard deviation (σ) used in the Z-score calculation can themselves be influenced by extreme outliers within the lookback period. This can sometimes mask or exaggerate the Z-score of other points.
* **Choice of Lookback Period:** The Z-score is highly dependent on the `Lookback Period`. A short period makes it very sensitive to recent fluctuations, while a long period makes it smoother and less responsive. The appropriate period depends on the analytical goal.
* **Stationarity:** For time series data, Z-scores are calculated based on a rolling window. This implicitly assumes some level of local stationarity (i.e., the mean and standard deviation are relatively stable within the window).
FU Candle Detector (Smart Money Concept) En Anglais🧠 Overall concept: “FU Candle” in Smart Money logic
In the context of Smart Money Concepts (SMC) or ICT (Inner Circle Trader), an FU Candle (also known as a “Fakeout Candle” or “Manipulation Candle”) is a candle that:
Creates an imbalance or a break (often above a swing high or below a swing low),
Attracts liquidity by trapping retail traders (liquidity grab),
Then abruptly reverses direction, revealing the hand of “Smart Money” (large institutions).
It therefore often marks:
The point of manipulation before an impulsive movement (reversal),
An area of interest for entering in the institutional direction (after the liquidity grab).
---
⚙️ How the “FU Candle Detector” script works
The script identifies these candlesticks by observing several typical criteria:
1. Detection of the manipulative candle (FU Candle)
Search for a candlestick that breaks a previous swing (significant high or low),
But closes in the opposite direction, often below/above the broken zone,
Thus indicating a fakeout.
Examples:
Bullish FU Candle: breaks a previous low, but closes bullish.
Bearish FU Candle: breaks a previous high, but closes bearish.
---
2. Visualization on the chart
The script generally displays:
🔴 Red markers for bearish FUs (Fake Breakout upwards),
🟢 Green markers for bullish FUs (Fake Breakout downwards),
🟦 Rectangles of areas of interest (often around the FU Candle Open),
📏 Horizontal lines on areas of imbalance (OB/FVG if integrated).
---
3. Possible additions depending on the version
Depending on the version you have received, the script can also:
Detect Fair Value Gaps (FVG) around FU Candles,
Mark Order Blocks (OB) associated with manipulation,
Add alerts when new FU Candles are detected,
Calculate the distance between the manipulation point and the price return,
Filter according to candle size, volume, or market structure (MSB/CHoCH).
---
🎯 Practical use
FU Candles are often used:
As confirmation of an imminent reversal,
To identify institutional entry zones (hidden Order Block),
To anticipate the direction of the next impulse after the liquidity hunt.
Typical entry example:
> Wait for the formation of an FU Candle + price return within the candle body = entry in the opposite direction to the false breakout.
📈 Recommended combinations
This detector is often combined with:
Structure Break Indicator (CHoCH / BOS)
Liquidity Pool Zones
Fair Value Gap Finder
Order Block Detector
This gives you a complete Smart Money Concept system, capable of mapping:
1. Where liquidity has been taken,
2. Where the price is rebalancing,
3. Where Smart Money is repositioning its orders.
First X Days Of A YearFirst X-Day Indicator
Overview
The "First X-Day Indicator" is a powerful tool to visualize and analyze market sentiment during the crucial first trading days of each new year. It provides immediate visual feedback on whether the year is starting with positive or negative momentum compared to the previous year's close, a concept often related to market theories like the "January Effect" or the "First Five Days Rule."
The indicator is designed to be clean, intuitive, and fully customizable to fit your charting style.
Key Features
Yearly Baseline: Automatically draws a horizontal line at the previous year's closing price. This line serves as a clear 0% reference for the current year's performance.
Dynamic Background Coloring: For a user-defined number of days at the start of the year, the chart background is colored daily. Green indicates the close is above the previous year's close, while red indicates it's below.
Final Performance Symbol: At the end of the analysis period (e.g., on the 5th day), a single summary symbol (like 👍 or 👎) appears. This symbol represents the final performance outcome of the initial trading period.
Settings & Customization
You have full control over all visual elements:
Analysis Period: Define exactly how many days at the start of the year you want to analyze (e.g., 3, 5, or 10 days).
Line Customization: Fully control the yearly baseline's appearance. You can change its color, width, and style (Solid, Dashed, or Dotted) or hide it completely.
Symbol Customization: Choose any character or emoji for the positive and negative performance symbols. You can also adjust their size (Small, Normal, Large) or hide them.
Background Control: Enable or disable the daily background coloring and select your preferred custom colors for positive and negative days.
Custom Drawdown LevelsInput fields for three custom percentages.
Calculation of drawdown levels from the all-time high.
Plotting horizontal lines at those levels.
Puell Multiple Variants [OperationHeadLessChicken]Overview
This script contains three different, but related indicators to visualise Bitcoin miner revenue.
The classical Puell Multiple : historically, it has been good at signaling Bitcoin cycle tops and bottoms, but due to the diminishing rewards miners get after each halving, it is not clear how you determine overvalued and undervalued territories on it. Here is how the other two modified versions come into play:
Halving-Corrected Puell Multiple : The idea is to multiply the miner revenue after each halving with a correction factor, so overvalued levels are made comparable by a horizontal line across cycles. After experimentation, this correction factor turned out to be around 1.63. This brings cycle tops close to each other, but we lose the ability to see undervalued territories as a horizontal region. The third variant aims to fix this:
Miner Revenue Relative Strength Index (Miner Revenue RSI) : It uses RSI to map miner revenue into the 0-100 range, making it easy to visualise over/undervalued territories. With correct parameter settings, it eliminates the diminishing nature of the original Puell Multiple, and shows both over- and undervalued revenues correctly.
Example usage
The goal is to determine cycle tops and bottoms. I recommend using it on high timeframes, like monthly or weekly . Lower than that, you will see a lot of noise, but it could still be used. Here I use monthly as the example.
The classical Puell Multiple is included for reference. It is calculated as Miner Revenue divided by the 365-day Moving Average of the Miner Revenue . As you can see in the picture below, it has been good at signaling tops at 1,3,5,7.
The problems:
- I have to switch the Puell Multiple to a logarithmic scale
- Still, I cannot use a horizontal oversold territory
- 5 didn't touch the trendline, despite being a cycle top
- 9 touched the trendline despite not being a cycle top
Halving-Corrected Puell Multiple (yellow): Multiplies the Puell Multiple by 1.63 (a number determined via experimentation) after each halving. In the picture below, you can see how the Classical (white) and Corrected (yellow) Puell Multiples compare:
Advantages:
- Now you can set a constant overvalued level (12.49 in my case)
- 1,3,7 are signaled correctly as cycle tops
- 9 is correctly not signaled as a cycle top
Caveats:
- Now you don't have bottom signals anymore
- 5 is still not signaled as cycle top
Let's see if we can further improve this:
Miner Revenue RSI (blue):
On the monthly, you can see that an RSI period of 6, an overvalued threshold of 90, and an undervalued threshold of 35 have given historically pretty good signals.
Advantages:
- Uses two simple and clear horizontal levels for undervalued and overvalued levels
- Signaling 1,3,5,7 correctly as cycle tops
- Correctly does not signal 9 as a cycle top
- Signaling 4,6,8 correctly as cycle bottoms
Caveats:
- Misses two as a cycle bottom, although it was a long time ago when the Bitcoin market was much less mature
- In the past, gave some early overvalued signals
Usage
Using the example above, you can apply these indicators to any timeframe you like and tweak their parameters to obtain signals for overvalued/undervalued BTC prices
You can show or hide any of the three indicators individually
Set overvalued/undervalued thresholds for each => the background will highlight in green (undervalued) or red (overvalued)
Set special parameters for the given indicators: correction factor for the Corrected Puell and RSI period for Revenue RSI
Show or hide halving events on the indicator panel
All parameters and colours are adjustable
Trading Sessions with 15 minute ORBA working copy of the original Tradingview trading sessions indicator with the addition of horizontal lines marking the 15 minute opening range for your ORB strategy. The lines reset with each session start.
Master Trend Strategy - by jake_thebossMaster Trend Strategy
This strategy combines multiple technical indicators to identify high-probability trend entries across all asset classes.
Core Signal Logic:
Entry triggered when EMA 4 crosses above/below EMA 5
Confirmation required from RSI (>50 for long, <50 for short)
Price must be above/below key moving averages: EMA 21, SMA 50, EMA 55, EMA 89, and EMA 750
Additional confirmation from Stochastic (>52 bullish, <48 bearish) or EMA 89 breakout or VWAP cross
Key Features:
VWAP filter: Only takes bullish signals above VWAP and bearish signals below VWAP
Optional pyramiding: Allows multiple entries in the same direction (up to 200 orders)
Individual stop loss and take profit management for each pyramid level
Time filter: Customizable trading hours with timezone offset
Risk management: Adjustable stop loss (default 0.3%) and take profit (default 0.6%)
Visualization:
Entry, stop loss, and take profit levels drawn as horizontal lines
Customizable signal markers (triangles) for bull/bear entries
Optional EMA overlay display
The strategy is designed for trend-following on lower timeframes, with strict multi-indicator confirmation to filter out false signals.
HTF Control Shift + Prev Candle Break Sequence 🧭 HTF Control Shift + Previous Candle Break Sequence
Overview
The HTF Control Shift + Previous Candle Break Sequence indicator identifies high-probability shift candles that suggest a potential change in market control — from sellers to buyers or vice versa — and then tracks whether price confirms that shift by breaking the previous candle’s high or low.
This tool is designed to help traders detect institutional control shifts and confirm them with price structure breaks, providing a framework for spotting early trend reversals or strong continuation moves.
How It Works
Control Shift Candle Detection
A Bullish Control Shift occurs when a candle shows:
A long lower wick (≥ Wick % Threshold of total range).
A close near the high (within Body % Threshold of the top).
A Bearish Control Shift occurs when a candle shows:
A long upper wick (≥ Wick % Threshold of total range).
A close near the low (within Body % Threshold of the bottom).
These candles are highlighted in green (bullish) or red (bearish), and optionally labeled on the chart.
Previous Candle High/Low Tracking
The script automatically plots horizontal lines at the previous candle’s high (green) and low (red).
These act as key reference levels for breakout confirmation.
Breakout Confirmation Sequence
A Bullish Sequence triggers when a Bullish Control Shift candle is followed by a break above the previous candle’s high.
A Bearish Sequence triggers when a Bearish Control Shift candle is followed by a break below the previous candle’s low.
When either sequence completes, the indicator can send a TradingView alert confirming the directional breakout.
How to Use
Timeframe:
Optimized for higher timeframes (1H, 4H, Daily) to filter out intraday noise and identify structural market shifts.
Trend Reversal Identification:
Watch for Control Shift candles at major highs/lows, order blocks, or liquidity zones — a confirmed breakout often signals a trend reversal or new directional push.
Continuation Confirmation:
In trending markets, a Control Shift candle that breaks in the direction of trend can validate a strong continuation setup.
Alert Usage:
Set alerts for:
Bullish Control Shift Confirmed Breakout
Bearish Control Shift Confirmed Breakdown
Optional: raw Control Shift or Break alerts.
Customization
Wick % Threshold: Adjusts the required wick size to define a control shift.
Body % Threshold: Controls how close the close must be to the high/low for confirmation.
Label Toggle: Optionally display labels only on control shift candles.
Best Practices
Combine with higher-timeframe trend filters.
Avoid using it alone in tight consolidation zones.
Strongest signals occur when:
Control Shift appears at key structure levels.
The breakout bar closes firmly beyond the previous high/low.
Volume supports the breakout.
Summary
✅ Detects when market control flips (buyers ↔ sellers).
✅ Confirms shift with breakout above/below previous candle.
✅ Ideal for 1H–4H swing or position trading.
✅ Provides visual, structural, and alert-based confirmation.
Multi Timeframe Market Structure ContinuationOverview
This indicator identifies Break of Structure (BOS) and Change of Character (ChoCh) patterns using multi-timeframe (MTF) analysis to filter high-probability trade setups. By aligning lower timeframe signals with higher timeframe bias, it helps traders enter positions in the direction of the dominant trend while avoiding counter-trend traps.
Multi-Timeframe Analysis
The indicator analyzes market structure on two timeframes simultaneously:
Current Timeframe (CTF): Detects immediate BOS and ChoCh signals for entry timing
Higher Timeframe (HTF): Establishes the overall trend direction (default: 1H, customizable)
Signals only appear when the current timeframe structure aligns with the higher timeframe bias, ensuring you're trading with the momentum, not against it.
Break of Structure (BOS)
BOS signals indicate trend continuation - when price breaks a previous high in an uptrend or a previous low in a downtrend. These are reliable entries that confirm the trend is still active and strong.
Change of Character (ChoCh)
ChoCh signals mark early trend reversals - when market structure shifts from bearish to bullish (or vice versa). When captured in alignment with the higher timeframe trend, ChoCh entries can achieve exceptional risk-to-reward ratios as they allow entry near the beginning of a new impulse move.
Exit Signals
Exit signals are plotted when a ChoCh occurs in the opposite direction of the HTF trend. For example, if the HTF is bullish and a bearish ChoCh forms on the current timeframe, an orange "EXIT" signal appears - warning long traders that the lower timeframe structure is shifting against them. This provides an early warning system to protect profits or minimize losses before the HTF trend itself reverses.
Trading Strategy Recommendations
Trending Markets (Recommended)
In strong trending conditions, both BOS and ChoCh signals can be taken when aligned with the HTF bias. ChoCh entries are particularly powerful as they catch early reversals within the larger trend, offering entries with tight stop losses and extended profit targets.
Ranging Markets
During consolidation or choppy conditions, it's best to be selective and take only BOS entries. BOS signals confirm that the trend is continuing beyond the range, reducing false breakouts and whipsaw trades that are common with counter-trend ChoCh signals in sideways markets.
Customization
Pivot Length: Adjust the sensitivity of structure detection (default: 5). Lower values detect structure more frequently with earlier but potentially noisier signals. Higher values provide cleaner, more significant structural breaks but with some delay.
Higher Timeframe: Customize the HTF to suit your trading style. Day traders might use 1H HTF on 5m charts, while swing traders could use 4H or Daily HTF.
Alert System
Six alert conditions available:
Long BOS Entry / Long ChoCh Entry
Short BOS Entry / Short ChoCh Entry
Long Exit / Short Exit
All alerts fire only on confirmed candle closes to eliminate repainting and false signals.
Visual Features
Color-coded background showing HTF bias
Clear BOS/ChoCh labels with horizontal lines at structure levels
Orange "EXIT" signals when structure breaks against your position
Gray lines tracking current swing highs/lows
HTF trend indicator in the top-right corner
Previous Day High-LowIt will show Previous Day High-Low. This will create two horizontal lines automatically updated each day, marking yesterday’s high and low levels clearly on any intraday chart.
HELAL TRICKS FOREX NY TimeThe indicator marks the New York session opening candle at 9:30 AM (New York time), drawing horizontal lines at its high and low. These levels remain visible until 7:00 PM, helping traders identify key breakout and reversal zones during the most volatile session of the day. Developed by Helal – Tricks Forex, this tool simplifies New York session analysis for smarter intraday trading decisions.
FVG Volume Profile [ChartPrime]⯁ OVERVIEW
FVG Volume Profile is a smart volume analysis tool that identifies Fair Value Gaps (FVGs) and overlays a volume profile inside each gap using data from lower timeframes. The indicator automatically selects the best time resolution or allows for manual control, giving traders deeper insight into the volume structure within each imbalance. POC levels and total volumes gives a full microstructure view inside every FVG.
⯁ KEY FEATURES
Fair Value Gap Detection (Bullish & Bearish)
Detects price gaps where inefficiency exists using a 3-bar structure.
-Bullish Gaps: Low > High with confirming middle bar.
-Bearish Gaps: High < Low with confirming middle bar.
Only significant gaps (filtered by standard deviation) are plotted to avoid noise.
Multi-Timeframe Volume Profiling
Pulls granular candle and volume data from a lower timeframe —
In Auto Mode, uses a resolution ~10x lower than the current chart.
In Manual Mode, lets the user select a custom timeframe.
This ensures accurate intra-gap volume distribution.
Dynamic Volume Binning
Each FVG is divided into vertical volume bins based on the Resolution input.
Each bin displays relative volume intensity as a horizontal box, scaled by percentage of the max bin volume.
Point of Control (PoC) Line & Label
The bin with the maximum volume inside each FVG is marked with:
A horizontal line (PoC) extending from the left to right side.
A label showing the absolute volume of that bin.
Color-coded to match bullish or bearish FVGs.
Total Volume Label Inside FVG
Each FVG displays the total volume sum from its profile:
For bullish FVGs , shown in the bottom-right corner.
For bearish FVGs , shown in the top-right corner.
Auto-Removal of Invalid Gaps
If price fully closes the gap (crosses its bounds), the FVG, profile, and PoC are deleted automatically.
This keeps the chart clean and focused only on active zones.
Toggleable Volume Profile Display
User can show or hide the volume profiles within FVGs using the "Display" toggle under the "FVG Volume Profile" group.
Only the PoC and FVG boxes remain visible if toggled off.
Volume Resolution Customization
Control the number of bins used for each FVG profile.
Higher resolution = more bins and finer volume analysis. (default 15)
Auto Timeframe Validation Warning
If the selected lower timeframe isn’t actually lower than the chart's, the script shows a visible warning label prompting adjustment.
Helps prevent calculation errors.
⯁ USAGE
Use this tool to identify active imbalance zones (FVGs) with embedded volume context.
Look for PoC positioning inside gaps — near top may indicate absorption or reversal zones.
Combine with price action at the PoC level for precision entries.
Hide volume profile for a cleaner view while retaining key POC and FVG boxes.
Use resolution controls to zoom into fine-grained profiles inside large gaps.
Consider Auto mode for seamless multi-timeframe analysis, or switch to Manual for full control.
⯁ CONCLUSION
FVG Volume Profile transforms raw imbalance detection into actionable insight by embedding lower-timeframe volume structure inside each Fair Value Gap. With PoC highlights, total volume labels, and customizable bin resolution, this indicator is essential for traders who want to understand not just where the gap is — but what volume did inside it .
Wyckoff Effort vs. Result📌 Wyckoff Effort vs. Result (E/R) – Visualizing Supply & Demand Imbalance with Volume Confirmation
📖 Overview
The Wyckoff Effort vs. Result (E/R) indicator is designed to help traders interpret market behavior through the lens of volume vs. price movement — a foundational concept in Richard Wyckoff’s methodology.
This tool aims to highlight moments where the “effort” (volume) is not in proportion to the “result” (price movement) — giving insight into potential accumulation or distribution events.
By detecting high-volume candles and classifying them based on their price direction, the indicator visualizes zones where smart money might be active .
⚙️ How It Works
1. Effort Accumulation (High Volume Down Bar):
• When a candle closes lower than it opens (down bar) and has above-average volume , it’s marked as potential absorption of selling pressure (effort to push down met by buying).
• These candles are colored red and the open level is plotted, acting as a potential support or re-test zone.
2. Effort Distribution (High Volume Up Bar):
• When a candle closes higher than it opens (up bar) and has above-average volume , it’s marked as potential distribution (effort to push up absorbed by sellers).
• These candles are colored green and the open level is plotted , acting as a potential resistance or rejection zone.
3. Average Volume Calculation:
• The script calculates a simple moving average (SMA) of volume over a user-defined lookback period.
• If current volume exceeds the average multiplied by a set threshold, it’s treated as a high-effort bar .
🧪 Inputs
Input Description
Average Volume Lookback - Number of bars used to calculate the volume average
High Volume Multiplier. - Multiplier to define what qualifies as “high volume”
🖥️ Visual Output
• 🔴 Red candles = High volume on a down bar → possible accumulation
• 🟢 Green candles = High volume on an up bar → possible distribution
• 📉 Horizontal lines at bar open price mark the potential zones where effort occurred
These zones can serve as:
• Areas of support/resistance
• Trap zones where smart money absorbs liquidity
• Entry/exit filters when combined with price action
🧠 How to Use
• Use in combination with price structure, support/resistance, and volume profile tools
• Watch how price reacts when it revisits the plotted lines
• Look for effort bars that fail to lead to continuation, signaling potential reversal
• Can be used in scalping, swing trading, or Wyckoff-style phase analysis
🔒 Technical Notes
• ✅ Does not repaint
• ✅ Built with Pine Script v6
• ✅ Lightweight and customizable
• ❌ Does not generate buy/sell signals — it provides context, not predictions
First Passage Time - Distribution AnalysisThe First Passage Time (FPT) Distribution Analysis indicator is a sophisticated probabilistic tool that answers one of the most critical questions in trading: "How long will it take for price to reach my target, and what are the odds of getting there first?"
Unlike traditional technical indicators that focus on what might happen, this indicator tells you when it's likely to happen.
Mathematical Foundation: First Passage Time Theory
What is First Passage Time?
First Passage Time (FPT) is a concept in stochastic processes that measures the time it takes for a random process to reach a specific threshold for the first time. Originally developed in physics and mathematics, FPT has applications in:
Quantitative Finance: Option pricing, risk management, and algorithmic trading
Neuroscience: Modeling neural firing patterns
Biology: Population dynamics and disease spread
Engineering: Reliability analysis and failure prediction
The Mathematics Behind It
This indicator uses Geometric Brownian Motion (GBM), the same stochastic model used in the Black-Scholes option pricing formula:
dS = μS dt + σS dW
Where:
S = Asset price
μ = Drift (trend component)
σ = Volatility (uncertainty component)
dW = Wiener process (random walk)
Through Monte Carlo simulation, the indicator runs 1,000+ price path simulations to statistically determine:
When each threshold (+X% or -X%) is likely to be hit
Which threshold is hit first (directional bias)
How often each scenario occurs (probability distribution)
🎯 How This Indicator Works
Core Algorithm Workflow:
Calculate Historical Statistics
Measures recent price volatility (standard deviation of log returns)
Calculates drift (average directional movement)
Annualizes these metrics for meaningful comparison
Run Monte Carlo Simulations
Generates 1,000+ random price paths based on historical behavior
Tracks when each path hits the upside (+X%) or downside (-X%) threshold
Records which threshold was hit first in each simulation
Aggregate Statistical Results
Calculates percentile distributions (10th, 25th, 50th, 75th, 90th)
Computes "first hit" probabilities (upside vs downside)
Determines average and median time-to-target
Visual Representation
Displays thresholds as horizontal lines
Shows gradient risk zones (purple-to-blue)
Provides comprehensive statistics table
📈 Use Cases
1. Options Trading
Selling Options: Determine if your strike price is likely to be hit before expiration
Buying Options: Estimate probability of reaching profit targets within your time window
Time Decay Management: Compare expected time-to-target vs theta decay
Example: You're considering selling a 30-day call option 5% out of the money. The indicator shows there's a 72% chance price hits +5% within 12 days. This tells you the trade has high assignment risk.
2. Swing Trading
Entry Timing: Wait for higher probability setups when directional bias is strong
Target Setting: Use median time-to-target to set realistic profit expectations
Stop Loss Placement: Understand probability of hitting your stop before target
Example: The indicator shows 85% upside probability with median time of 3.2 days. You can confidently enter long positions with appropriate position sizing.
3. Risk Management
Position Sizing: Larger positions when probability heavily favors one direction
Portfolio Allocation: Reduce exposure when probabilities are near 50/50 (high uncertainty)
Hedge Timing: Know when to add protective positions based on downside probability
Example: Indicator shows 55% upside vs 45% downside—nearly neutral. This signals high uncertainty, suggesting reduced position size or wait for better setup.
4. Market Regime Detection
Trending Markets: High directional bias (70%+ one direction)
Range-bound Markets: Balanced probabilities (45-55% both directions)
Volatility Regimes: Compare actual vs theoretical minimum time
Example: Consistent 90%+ bullish bias across multiple timeframes confirms strong uptrend—stay long and avoid counter-trend trades.
First Hit Rate (Most Important!)
Shows which threshold is likely to be hit FIRST:
Upside %: Probability of hitting upside target before downside
Downside %: Probability of hitting downside target before upside
These always sum to 100%
⚠️ Warning: If you see "Low Hit Rate" warning, increase this parameter!
Advanced Parameters
Drift Mode
Allows you to explore different scenarios:
Historical: Uses actual recent trend (default—most realistic)
Zero (Neutral): Assumes no trend, only volatility (symmetric probabilities)
50% Reduced: Dampens trend effect (conservative scenario)
Use Case: Switch to "Zero (Neutral)" to see what happens in a pure volatility environment, useful for range-bound markets.
Distribution Type
Percentile: Shows 10%, 25%, 50%, 75%, 90% levels (recommended for most users)
Sigma: Shows standard deviation levels (1σ, 2σ)—useful for statistical analysis
⚠️ Important Limitations & Best Practices
Limitations
Assumes GBM: Real markets have fat tails, jumps, and regime changes not captured by GBM
Historical Parameters: Uses recent volatility/drift—may not predict regime shifts
No Fundamental Events: Cannot predict earnings, news, or macro shocks
Computational: Runs only on last bar—doesn't give historical signals
Remember: Probabilities are not certainties. Use this indicator as part of a comprehensive trading plan with proper risk management.
Created by: Henrique Centieiro. feedback is more than welcome!
Fixed-Range Volume-Profile ZonesFixed Range Volume Profile Zones (with Dynamic Percentile Buffers)
This indicator calculates a fixed‑range volume profile over a user‑defined lookback period and identifies three key zones:
– VAL (Value Area Low)
– POC (Point of Control)
– VAH (Value Area High)
Volume is grouped into user‑selected price bins to create a profile of where the most trading activity occurred.
The script then splits the distribution into three zones and highlights the extremes (VAL/VAH) and the highest‑volume price (POC).
Dynamic Percentile Buffers
Instead of static offsets, this version computes the 10th and 90th percentile prices (user‑adjustable) of recent closes over the same lookback window.
These percentiles are used to create adaptive buffers above VAH and below VAL.
The buffers automatically expand or contract with market volatility and recent price distribution, filtering out weak or noisy touches.
Visual Elements:
– Green/orange/red horizontal lines = VAL / VAH / POC
– Green shading below VAL = buy zone
– Red shading above VAH = sell zone
– Down arrows above bars = closes above VAH + buffer
– Up arrows below bars = closes below VAL – buffer
Inputs:
– Lookback Days: number of bars used to build the profile
– Number of Bins: controls resolution of the volume profile
– VAH Percentile and VAL Percentile: choose which percentile levels to use for dynamic buffers
Use Cases:
– Quickly identify areas of high participation (POC) and potential support/resistance (VAL/VAH)
– Filter out weak breakouts using dynamic buffers
– Combine with other signals to improve entries/exits
⚠️ Disclaimer:
This script is for educational and informational purposes only.
It does not constitute financial advice or a recommendation to buy or sell any security.
Past performance or historical data does not guarantee future results.
Always perform your own analysis and use risk management when trading.
BOS & ChoCh Market StructureBOS/ChoCh Market Structure Indicator
This indicator identifies key market structure shifts using Break of Structure (BOS) and Change of Character (ChoCh) signals based on pivot point analysis.
Concept
Break of Structure (BOS) occurs when price breaks through a significant pivot level in the direction of the current trend, signaling trend continuation. A bullish BOS happens when price breaks above a pivot high while in an uptrend, while a bearish BOS occurs when price breaks below a pivot low during a downtrend.
Change of Character (ChoCh) signals a potential trend reversal. It occurs when price breaks against the prevailing trend - breaking above a pivot high while in a downtrend, or breaking below a pivot low while in an uptrend. This indicates the market structure is shifting.
How It Works
The indicator automatically detects swing highs and lows using configurable pivot strength. When price breaks these levels, it plots:
Color-coded labels (cyan for bullish breaks, red for bearish breaks)
Small horizontal lines marking the exact breakout level
Extended lines from pivot points showing key support/resistance levels
Settings
Pivot Strength - Number of candles on each side required to confirm a swing high/low (default: 5). Higher values identify more significant pivots but produce fewer signals.
Breakout Confirmation - Choose whether breakouts require a candle close beyond the level ("Close") or just a wick touch ("Wick").
Show BOS / Show ChoCh - Toggle visibility of Break of Structure and Change of Character signals independently.
Colors - Customize the colors for bullish (cyan) and bearish (red) signals.
Perfect for swing traders and market structure analysis.
Smart Money Support/Resistance — LiteSmart Money Support/Resistance — Lite
Overview & Methodology
This indicator identifies support and resistance as zones derived from concentrated buying and selling pressure, rather than relying solely on traditional swing highs/lows. Its design focuses on transparency: how data is sourced, how zones are computed, and how the on‑chart display should be interpreted.
Lower‑Timeframe (LTF) Data
The script requests Up Volume, Down Volume, and Volume Delta from a lower timeframe to expose intrabar order‑flow structure that the chart’s native timeframe cannot show. In practical terms, this lets you see where buyers or sellers briefly dominated inside the body of a higher‑timeframe bar.
bool use_custom_tf_input = input.bool(true, title="Use custom lower timeframe", tooltip="Override the automatically chosen lower timeframe for volume calculations.", group=grpVolume)
string custom_tf_input = input. Timeframe("1", title="Lower timeframe", tooltip="Lower timeframe used for up/down volume calculations (default 5 seconds).", group=grpVolume)
import TradingView/ta/10 as tvta
resolve_lower_tf(useCustom, customTF) =>
useCustom ? customTF :
timeframe.isseconds ? "1S" :
timeframe.isintraday ? "1" :
timeframe.isdaily ? "5" : "60"
get_up_down_volume(lowerTf) =>
= tvta.requestUpAndDownVolume(lowerTf)
var float upVolume = na
var float downVolume = na
var float deltaVolume = na
string lower_tf = resolve_lower_tf(use_custom_tf_input, custom_tf_input)
= get_up_down_volume(lower_tf)
upVolume := u_tmp
downVolume := d_tmp
deltaVolume := dl_tmp
• Data source: TradingView’s ta.requestUpAndDownVolume(lowerTf) via the official TA library.
• Plan capabilities: higher‑tier subscriptions unlock seconds‑based charts and allow more historical bars per chart. This expands both the temporal depth of LTF data and the precision of short‑horizon analysis, while base tiers provide minute‑level data suitable for day/short‑swing studies.
• Coverage clarity: a small on‑chart Coverage Panel reports the active lower timeframe, the number of bars covered, and the latest computed support/resistance ranges so you always know the bounds of valid LTF input.
Core Method
1) Data acquisition (LTF)
The script retrieves three series from the chosen lower timeframe:
– Up Volume (buyers)
– Down Volume (sellers)
– Delta (Up – Down)
2) Rolling window & extrema
Over a user‑defined lookback (Global Volume Period), the algorithm builds rolling arrays of completed bars and scans for extrema:
– Buyers_max / Buyers_min from Up Volume
– Sellers_max / Sellers_min from Down Volume
Only completed bars are considered; the current bar is excluded for stability.
3) Price mapping
The extrema are mapped back to their source candles to obtain price bounds:
– For “maximum” roles the algorithm uses the relevant candle highs.
– For “minimum” roles it uses the relevant candle lows.
These pairs define candidate resistance (max‑based) and support (min‑based) zones or vice versa.
4) Zone construction & minimum width
To ensure practicality on all symbols, zones enforce a minimum vertical thickness of two ticks. This prevents visually invisible or overly thin ranges on instruments with tight ticks.
5) Vertical role resolution
When both max‑ and min‑based zones exist, the script compares their midpoints. If, due to local price structure, the min‑based zone sits above the max‑based zone, display roles are swapped so the higher zone is labeled Resistance and the lower zone Support. Colors/widths are updated accordingly to keep the visual legend consistent.
6) Rendering & panel
Two horizontal lines and a filled box represent each active zone. The Coverage Panel (bottom‑right by default) prints:
– Lower‑timeframe in use
– Number of bars covered by LTF data
– Current Support and Resistance ranges
If the two zones overlap, an additional “Range Market” note is shown.
Key Inputs
• Global Volume Period: shared lookback window for the extrema search.
• Lower timeframe: user‑selectable override of the automatically resolved lower timeframe.
• Visualization toggles: independent show/hide controls and colors for maximum (resistance) and minimum (support) zones.
• Coverage Panel: enable/disable the single‑cell table and its readout.
Operational Notes
• The algorithm aligns all lookups to completed bars (no peeking). Price references are shifted appropriately to avoid using the still‑forming bar in calculations.
• Second‑based lower timeframes improve granularity for scalping and very short‑term entries. Minute‑based lower timeframes provide broader coverage for intraday and short‑swing contexts.
• Use the Coverage Panel to confirm the true extent of available LTF history on your symbol/plan before drawing conclusions from very deep lookbacks.
Visual Walkthrough
A step‑by‑step image sequence accompanies this description. Each figure demonstrates how the indicator reads LTF volume, locates extrema, builds price‑mapped zones, and updates labels/colors when vertical order requires it.
Chart Interpretation
This chart illustrates two distinct perspectives of the Smart Money Support/Resistance — Lite indicator, each derived from different lookback horizons and lower-timeframe (LTF) resolutions.
1- Short-term view (43 bars, 10-second LTF)
Using the most recent 43 completed bars with 10-second intrabar data, the algorithm detects that both maximum and minimum volume extrema fall within a narrow range. The result is a clearly identified range market: resistance between 178.15–184.55 and support between 175.02–179.38.
The Coverage Panel (bottom-right) confirms the scope of valid input: the lower timeframe used, number of bars covered, and the resulting zones. This short-term scan highlights how the indicator adapts to limited data depth, flagging sideways structure where neither side dominates.
2 - Long-term view (120 bars, 30-second LTF)
Over a wider 120-bar lookback with higher-granularity 30-second data, broader supply and demand zones emerge.
– The long-term resistance zone captures the concentration of buyers and sellers at the upper boundary of recent price history.
– The long-term support zone anchors to the opposite side of the distribution, derived from maxima and minima of both buying and selling pressure.
These zones reflect deeper structural levels where market participants previously committed significant volume.
Combined Perspective
By aligning the short-term and long-term outputs, the chart shows how the indicator distinguishes immediate consolidation (range market) from more durable support and resistance levels derived from extended history. This dual resolution approach makes clear that support and resistance are not static lines but dynamic zones, dependent on both timeframe depth and the resolution of intrabar volume data.






















